/*
再次给出任意一个年月日（年>1900），现在我们不能只是直接计算，要先判断给出的日期是否合法，对于非法的日期要给出错误提示信息，合法的日期要再计算是星期几。

输入：

年 月 日

输出：

0～6。
星期日用 0 表示，星期一用 1 表示，星期二用 2 表示......星期六用 6 表示。

假设年份大于1900。先想一想：我们现在只会使用 if 语句，该如何建立数学模型？
*/

/*
测试用例1:
输入：
2013 3 11↵
输出：
1↵

测试用例2:
输入：
2013 13 15↵
输出：
month is error.↵

测试用例3:
输入：
2013 3 32↵
输出：
day is error.↵
*/

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {
	
	// 接收用户输入
	int year, month, day;
	cin >> year >> month >> day;
	
	// 判断日期是否正确
	bool flag = true;
	switch (month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			if (day<1 || day>31)
				flag = false;
			break;
		
		case 4:
		case 6:
		case 9:
		case 11:
			if (day<1 || day>30)
				flag = false;
			break;
		
		case 2:
			// 闰年
			if ((year%4==0 && year%100!=0) || year%400==0)
			{
				if (day<1 || day>29)
					flag = false;
			}
			// 平年
			else {
				if (day<1 || day>28)
					flag = false;
			}
			break;

		default:
			cout << "month is error." << endl;
			return 0;
	}
	
	// 日期错误
	if (!flag)
	{
		cout << "day is error." << endl;
		return 0;
	}
	
	// 输出星期
	if (month < 3)
		month += 12;
	int k = year % 100;
	int j = year / 100;
	
	int week = (day + 13 * (month + 1) / 5 + k + k / 4 + j / 4 + 5 * j) % 7;
	cout << (week + 6) % 7 << endl;
}